{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Building a MatGraphDB Example with MPNearHull Data\n", "\n", "In this notebook, we demonstrate how to build a materials graph database using the\n", "[MatGraphDB](https://github.com/your/matgraphdb) framework with the MPNearHull dataset.\n", "\n", "The steps include:\n", "1. Importing required libraries and setting up configuration paths.\n", "2. Downloading and extracting the dataset (and raw materials data if needed).\n", "3. Creating a MatGraphDB instance.\n", "4. Initializing node generators.\n", "5. Initializing edge generators.\n", "6. Verifying the database setup.\n", "\n", "Follow along and run each cell to see how the database is constructed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Library imports and paths are set.\n" ] } ], "source": [ "import os\n", "import shutil\n", "import zipfile\n", "import gdown\n", "\n", "# Get the data directory from the config. You can change this to your own data directory.\n", "DATA_DIR = os.path.join(\"..\",\"..\",\"data\",\"examples\",\"01\")\n", "# Define the path to store the raw materials data.\n", "MATERIALS_PATH = os.path.join(DATA_DIR, \"material\")\n", "\n", "MATGRAPHDB_PATH = os.path.join(DATA_DIR, \"MatGraphDB\")\n", "\n", "# Define the dataset URLs.\n", "DATASET_URL = \"https://drive.google.com/uc?id=1zSmEQbV8pNvjWdhFuCwOeoOzvfoS5XKP\"\n", "\n", "# Define the URL for the raw materials data.\n", "RAW_DATASET_URL = \"https://drive.google.com/uc?id=14guJqEK242XgRGEZA-zIrWyg4b-gX5zk\" # (Not used below but available)\n", "\n", "# # Define the path to store the raw materials data.\n", "# RAW_DATASET_ZIP = os.path.join(config.data_dir, \"raw\", \"MPNearHull_v0.0.1_raw.zip\")\n", "\n", "# # Define the path to store the dataset.\n", "# DATASET_ZIP = os.path.join(config.data_dir, \"datasets\", \"MPNearHull_v0.0.1.zip\")\n", "\n", "print(\"Library imports and paths are set.\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Define Function for Downloading and Extracting Data" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Downloading raw materials data...\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "Downloading...\n", "From (original): https://drive.google.com/uc?id=1zSmEQbV8pNvjWdhFuCwOeoOzvfoS5XKP\n", "From (redirected): https://drive.google.com/uc?id=1zSmEQbV8pNvjWdhFuCwOeoOzvfoS5XKP&confirm=t&uuid=5bcba796-ff8e-4bb3-bc09-39d3f1136dc1\n", "To: c:\\Users\\lllang\\Desktop\\Current_Projects\\MatGraphDB\\examples\\notebooks\\materials\\MPNearHull_v0.0.1_raw.zip\n", "100%|██████████| 632M/632M [00:11<00:00, 53.6MB/s] \n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Extracting raw materials data...\n", "Raw materials data ready!\n" ] } ], "source": [ "def download_raw_materials(mp_materials_path):\n", " \"\"\"\n", " Download and extract the raw materials data if it is not already present.\n", " \"\"\"\n", " if not os.path.exists(mp_materials_path):\n", " \n", " os.makedirs(mp_materials_path, exist_ok=True)\n", " print(\"Downloading raw materials data...\")\n", " \n", " raw_dataset_zip = os.path.join(mp_materials_path, \"MPNearHull_v0.0.1_raw.zip\")\n", " # Note: Here we use DATASET_URL as in the original code.\n", " gdown.download(DATASET_URL, output=raw_dataset_zip, quiet=False)\n", " \n", " print(\"Extracting raw materials data...\")\n", " with zipfile.ZipFile(raw_dataset_zip, \"r\") as zip_ref:\n", " zip_ref.extractall(mp_materials_path)\n", " \n", " \n", " files=os.listdir(mp_materials_path)\n", " os.remove(raw_dataset_zip)\n", " mp_nearhull_path = os.path.join(mp_materials_path, \"MPNearHull\")\n", " tmp_materials_path = os.path.join(mp_nearhull_path, \"nodes\", \"material\")\n", " materials_files = os.listdir(tmp_materials_path)\n", " for file in materials_files:\n", " shutil.move(os.path.join(tmp_materials_path, file), os.path.join(mp_materials_path, file))\n", " \n", " shutil.rmtree(mp_nearhull_path)\n", " print(\"Raw materials data ready!\")\n", " \n", "# Optionally, download the raw materials data if you plan to initialize from raw files.\n", "if not os.path.exists(MATERIALS_PATH):\n", " download_raw_materials(MATERIALS_PATH)\n", "else:\n", " print(\"Raw materials data already exists.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initialize a Materials Store" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "============================================================\n", "NODE STORE SUMMARY\n", "============================================================\n", "Node type: material\n", "• Number of nodes: 80643\n", "• Number of features: 136\n", "Storage path: ..\\..\\data\\examples\\01\\material\n", "\n", "\n", "############################################################\n", "METADATA\n", "############################################################\n", "• class: MaterialStore\n", "• class_module: matgraphdb.materials.nodes.materials\n", "• node_type: material\n", "• name_column: id\n", "\n", "############################################################\n", "NODE DETAILS\n", "############################################################\n", "\n" ] } ], "source": [ "from matgraphdb import MaterialStore\n", "\n", "materials_store = MaterialStore(storage_path=MATERIALS_PATH)\n", "print(materials_store)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Initialize a MatGraphDB Instance" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "============================================================\n", "GRAPH DATABASE SUMMARY\n", "============================================================\n", "Name: MatGraphDB\n", "Storage path: ..\\..\\data\\examples\\01\\MatGraphDB\n", "└── Repository structure:\n", " ├── nodes/ (..\\..\\data\\examples\\01\\MatGraphDB\\nodes)\n", " ├── edges/ (..\\..\\data\\examples\\01\\MatGraphDB\\edges)\n", " ├── edge_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\edge_generators)\n", " ├── node_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\node_generators)\n", " └── graph/ (..\\..\\data\\examples\\01\\MatGraphDB\\graph)\n", "\n", "############################################################\n", "NODE DETAILS\n", "############################################################\n", "Total node types: 1\n", "------------------------------------------------------------\n", "• Node type: material\n", " - Number of nodes: 80643\n", " - Number of features: 136\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE DETAILS\n", "############################################################\n", "Total edge types: 0\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "NODE GENERATOR DETAILS\n", "############################################################\n", "Total node generators: 0\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE GENERATOR DETAILS\n", "############################################################\n", "Total edge generators: 0\n", "------------------------------------------------------------\n", "\n" ] } ], "source": [ "\n", "from matgraphdb import MatGraphDB\n", "\n", "if not os.path.exists(MATGRAPHDB_PATH):\n", " shutil.rmtree(MATGRAPHDB_PATH)\n", "mdb = MatGraphDB(storage_path=MATGRAPHDB_PATH,materials_store=materials_store)\n", "\n", "print(mdb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding Nodes\n", "\n", "In this section, we will add the nodes to the MatGraphDB instance. We will be using some of the built-in node generators to add the nodes to the MatGraphDB instance." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from matgraphdb.materials.nodes import (\n", " element, chemenv, crystal_system, magnetic_state, \n", " oxidation_state, space_group, wyckoff, material_site, material_lattice\n", ")\n", "\n", "# Here we define the generator functions and arguments if they are needed. \n", "# For instance, to get the materials sites and lattices, we need to pass the materials store to the generator function.\n", "node_generators = [\n", " {\"generator_func\": element},\n", " {\"generator_func\": chemenv},\n", " {\"generator_func\": crystal_system},\n", " {\"generator_func\": magnetic_state},\n", " {\"generator_func\": oxidation_state},\n", " {\"generator_func\": space_group},\n", " {\"generator_func\": wyckoff},\n", " {\n", " \"generator_func\": material_site,\n", " \"generator_args\": {\"material_store\": mdb.node_stores[\"material\"]},\n", " },\n", " {\n", " \"generator_func\": material_lattice,\n", " \"generator_args\": {\"material_store\": mdb.node_stores[\"material\"]},\n", " },\n", "]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can add the node generators to the MatGraphDB instance. When we add the generator, it will immediately execute and add the nodes to the database." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adding node generator: element\n", "Adding node generator: chemenv\n", "Adding node generator: crystal_system\n", "Adding node generator: magnetic_state\n", "Adding node generator: oxidation_state\n", "Adding node generator: space_group\n", "Adding node generator: wyckoff\n", "Adding node generator: material_site\n", "Adding node generator: material_lattice\n", "Node generators have been initialized.\n", "============================================================\n", "GRAPH DATABASE SUMMARY\n", "============================================================\n", "Name: MatGraphDB\n", "Storage path: ..\\..\\data\\examples\\01\\MatGraphDB\n", "└── Repository structure:\n", " ├── nodes/ (..\\..\\data\\examples\\01\\MatGraphDB\\nodes)\n", " ├── edges/ (..\\..\\data\\examples\\01\\MatGraphDB\\edges)\n", " ├── edge_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\edge_generators)\n", " ├── node_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\node_generators)\n", " └── graph/ (..\\..\\data\\examples\\01\\MatGraphDB\\graph)\n", "\n", "############################################################\n", "NODE DETAILS\n", "############################################################\n", "Total node types: 10\n", "------------------------------------------------------------\n", "• Node type: material\n", " - Number of nodes: 80643\n", " - Number of features: 136\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "------------------------------------------------------------\n", "• Node type: element\n", " - Number of nodes: 118\n", " - Number of features: 99\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", "------------------------------------------------------------\n", "• Node type: chemenv\n", " - Number of nodes: 67\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", "------------------------------------------------------------\n", "• Node type: crystal_system\n", " - Number of nodes: 7\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", "------------------------------------------------------------\n", "• Node type: magnetic_state\n", " - Number of nodes: 5\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\magnetic_state\n", "------------------------------------------------------------\n", "• Node type: oxidation_state\n", " - Number of nodes: 19\n", " - Number of features: 3\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\oxidation_state\n", "------------------------------------------------------------\n", "• Node type: space_group\n", " - Number of nodes: 230\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "------------------------------------------------------------\n", "• Node type: wyckoff\n", " - Number of nodes: 1380\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\wyckoff\n", "------------------------------------------------------------\n", "• Node type: material_site\n", " - Number of nodes: 2545026\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_site\n", "------------------------------------------------------------\n", "• Node type: material_lattice\n", " - Number of nodes: 80643\n", " - Number of features: 12\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_lattice\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE DETAILS\n", "############################################################\n", "Total edge types: 0\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "NODE GENERATOR DETAILS\n", "############################################################\n", "Total node generators: 9\n", "------------------------------------------------------------\n", "• Generator: element\n", "Generator Args:\n", " - generator_func: [<function element at 0x000001E1A2C82C10>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", " - generator_name: ['element']\n", " - id: [0]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", "------------------------------------------------------------\n", "• Generator: chemenv\n", "Generator Args:\n", " - generator_func: [<function chemenv at 0x000001E1A2C82D30>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", " - generator_name: ['chemenv']\n", " - id: [1]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", "------------------------------------------------------------\n", "• Generator: crystal_system\n", "Generator Args:\n", " - generator_func: [<function crystal_system at 0x000001E1A2C82E50>]\n", " - generator_name: ['crystal_system']\n", " - id: [2]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: magnetic_state\n", "Generator Args:\n", " - generator_func: [<function magnetic_state at 0x000001E1A2C82F70>]\n", " - generator_name: ['magnetic_state']\n", " - id: [3]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: oxidation_state\n", "Generator Args:\n", " - generator_func: [<function oxidation_state at 0x000001E1A2C8D0D0>]\n", " - generator_name: ['oxidation_state']\n", " - id: [4]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: space_group\n", "Generator Args:\n", " - generator_func: [<function space_group at 0x000001E1A2C8D1F0>]\n", " - generator_name: ['space_group']\n", " - id: [5]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: wyckoff\n", "Generator Args:\n", " - generator_func: [<function wyckoff at 0x000001E1A2C8D310>]\n", " - generator_name: ['wyckoff']\n", " - id: [6]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_site\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_site at 0x000001E1C487D940>]\n", " - generator_name: ['material_site']\n", " - id: [7]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_lattice\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_lattice at 0x000001E1C487D820>]\n", " - generator_name: ['material_lattice']\n", " - id: [8]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE GENERATOR DETAILS\n", "############################################################\n", "Total edge generators: 0\n", "------------------------------------------------------------\n", "\n" ] } ], "source": [ "# Add each node generator to the database.\n", "for generator in node_generators:\n", " generator_func = generator.get(\"generator_func\")\n", " generator_args = generator.get(\"generator_args\", None)\n", " print(f\"Adding node generator: {generator_func.__name__}\")\n", " mdb.add_node_generator(generator_func=generator_func, generator_args=generator_args)\n", "\n", "print(\"Node generators have been initialized.\")\n", "\n", "print(mdb)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Adding Edges\n", "\n", "In this section, we will add the edges to the MatGraphDB instance. We will be using some of the built-in edge generators to add the edges to the MatGraphDB instance." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adding edge generator: element_element_neighborsByGroupPeriod\n", "Adding edge generator: element_oxiState_canOccur\n", "Adding edge generator: material_chemenv_containsSite\n", "Adding edge generator: material_crystalSystem_has\n", "Adding edge generator: material_element_has\n", "Adding edge generator: material_lattice_has\n", "Adding edge generator: material_spg_has\n", "Adding edge generator: element_chemenv_canOccur\n", "Adding edge generator: spg_crystalSystem_isApart\n", "Adding edge generator: element_element_bonds\n", "Edge generators have been initialized.\n", "============================================================\n", "GRAPH DATABASE SUMMARY\n", "============================================================\n", "Name: MatGraphDB\n", "Storage path: ..\\..\\data\\examples\\01\\MatGraphDB\n", "└── Repository structure:\n", " ├── nodes/ (..\\..\\data\\examples\\01\\MatGraphDB\\nodes)\n", " ├── edges/ (..\\..\\data\\examples\\01\\MatGraphDB\\edges)\n", " ├── edge_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\edge_generators)\n", " ├── node_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\node_generators)\n", " └── graph/ (..\\..\\data\\examples\\01\\MatGraphDB\\graph)\n", "\n", "############################################################\n", "NODE DETAILS\n", "############################################################\n", "Total node types: 10\n", "------------------------------------------------------------\n", "• Node type: material\n", " - Number of nodes: 80643\n", " - Number of features: 136\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "------------------------------------------------------------\n", "• Node type: element\n", " - Number of nodes: 118\n", " - Number of features: 99\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", "------------------------------------------------------------\n", "• Node type: chemenv\n", " - Number of nodes: 67\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", "------------------------------------------------------------\n", "• Node type: crystal_system\n", " - Number of nodes: 7\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", "------------------------------------------------------------\n", "• Node type: magnetic_state\n", " - Number of nodes: 5\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\magnetic_state\n", "------------------------------------------------------------\n", "• Node type: oxidation_state\n", " - Number of nodes: 19\n", " - Number of features: 3\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\oxidation_state\n", "------------------------------------------------------------\n", "• Node type: space_group\n", " - Number of nodes: 230\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "------------------------------------------------------------\n", "• Node type: wyckoff\n", " - Number of nodes: 1380\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\wyckoff\n", "------------------------------------------------------------\n", "• Node type: material_site\n", " - Number of nodes: 2545026\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_site\n", "------------------------------------------------------------\n", "• Node type: material_lattice\n", " - Number of nodes: 80643\n", " - Number of features: 12\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_lattice\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE DETAILS\n", "############################################################\n", "Total edge types: 10\n", "------------------------------------------------------------\n", "• Edge type: element_element_neighborsByGroupPeriod\n", " - Number of edges: 391\n", " - Number of features: 14\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_element_neighborsByGroupPeriod\n", "------------------------------------------------------------\n", "• Edge type: element_oxiState_canOccur\n", " - Number of edges: 162\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_oxiState_canOccur\n", "------------------------------------------------------------\n", "• Edge type: material_chemenv_containsSite\n", " - Number of edges: 2542897\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_chemenv_containsSite\n", "------------------------------------------------------------\n", "• Edge type: material_crystalSystem_has\n", " - Number of edges: 80643\n", " - Number of features: 10\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_crystalSystem_has\n", "------------------------------------------------------------\n", "• Edge type: material_element_has\n", " - Number of edges: 270902\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_element_has\n", "------------------------------------------------------------\n", "• Edge type: material_lattice_has\n", " - Number of edges: 80643\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_lattice_has\n", "------------------------------------------------------------\n", "• Edge type: material_spg_has\n", " - Number of edges: 80643\n", " - Number of features: 10\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_spg_has\n", "------------------------------------------------------------\n", "• Edge type: element_chemenv_canOccur\n", " - Number of edges: 270474\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_chemenv_canOccur\n", "------------------------------------------------------------\n", "• Edge type: spg_crystalSystem_isApart\n", " - Number of edges: 230\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\spg_crystalSystem_isApart\n", "------------------------------------------------------------\n", "• Edge type: element_element_bonds\n", " - Number of edges: 3069943\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_element_bonds\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "NODE GENERATOR DETAILS\n", "############################################################\n", "Total node generators: 9\n", "------------------------------------------------------------\n", "• Generator: element\n", "Generator Args:\n", " - generator_func: [<function element at 0x000001E1A2C82C10>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", " - generator_name: ['element']\n", " - id: [0]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", "------------------------------------------------------------\n", "• Generator: chemenv\n", "Generator Args:\n", " - generator_func: [<function chemenv at 0x000001E1A2C82D30>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", " - generator_name: ['chemenv']\n", " - id: [1]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", "------------------------------------------------------------\n", "• Generator: crystal_system\n", "Generator Args:\n", " - generator_func: [<function crystal_system at 0x000001E1A2C82E50>]\n", " - generator_name: ['crystal_system']\n", " - id: [2]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: magnetic_state\n", "Generator Args:\n", " - generator_func: [<function magnetic_state at 0x000001E1A2C82F70>]\n", " - generator_name: ['magnetic_state']\n", " - id: [3]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: oxidation_state\n", "Generator Args:\n", " - generator_func: [<function oxidation_state at 0x000001E1A2C8D0D0>]\n", " - generator_name: ['oxidation_state']\n", " - id: [4]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: space_group\n", "Generator Args:\n", " - generator_func: [<function space_group at 0x000001E1A2C8D1F0>]\n", " - generator_name: ['space_group']\n", " - id: [5]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: wyckoff\n", "Generator Args:\n", " - generator_func: [<function wyckoff at 0x000001E1A2C8D310>]\n", " - generator_name: ['wyckoff']\n", " - id: [6]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_site\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_site at 0x000001E1C487D940>]\n", " - generator_name: ['material_site']\n", " - id: [7]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_lattice\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_lattice at 0x000001E1C487D820>]\n", " - generator_name: ['material_lattice']\n", " - id: [8]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE GENERATOR DETAILS\n", "############################################################\n", "Total edge generators: 10\n", "------------------------------------------------------------\n", "• Generator: element_oxiState_canOccur\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - oxiState_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\oxidation_state\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_chemenv_containsSite\n", "Generator Args:\n", " - chemenv_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_crystalSystem_has\n", "Generator Args:\n", " - crystal_system_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_element_neighborsByGroupPeriod\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_element_has\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_lattice_has\n", "Generator Args:\n", " - lattice_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_lattice\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_spg_has\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - spg_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_chemenv_canOccur\n", "Generator Args:\n", " - chemenv_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: spg_crystalSystem_isApart\n", "Generator Args:\n", " - crystal_system_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", " - spg_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_element_bonds\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "\n" ] } ], "source": [ "from matgraphdb.materials.edges import (\n", " material_element_has,\n", " material_lattice_has,\n", " material_spg_has,\n", " element_element_neighborsByGroupPeriod,\n", " element_element_bonds,\n", " element_oxiState_canOccur,\n", " material_chemenv_containsSite,\n", " material_crystalSystem_has,\n", " element_chemenv_canOccur,\n", " spg_crystalSystem_isApart,\n", ")\n", "\n", "\n", "\n", "# List of edge generator configurations.\n", "edge_generators = [\n", " {\n", " \"generator_func\": element_element_neighborsByGroupPeriod,\n", " \"generator_args\": {\"element_store\": mdb.node_stores[\"element\"]},\n", " },\n", " {\n", " \"generator_func\": element_oxiState_canOccur,\n", " \"generator_args\": {\n", " \"element_store\": mdb.node_stores[\"element\"],\n", " \"oxiState_store\": mdb.node_stores[\"oxidation_state\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": material_chemenv_containsSite,\n", " \"generator_args\": {\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " \"chemenv_store\": mdb.node_stores[\"chemenv\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": material_crystalSystem_has,\n", " \"generator_args\": {\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " \"crystal_system_store\": mdb.node_stores[\"crystal_system\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": material_element_has,\n", " \"generator_args\": {\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " \"element_store\": mdb.node_stores[\"element\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": material_lattice_has,\n", " \"generator_args\": {\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " \"lattice_store\": mdb.node_stores[\"material_lattice\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": material_spg_has,\n", " \"generator_args\": {\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " \"spg_store\": mdb.node_stores[\"space_group\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": element_chemenv_canOccur,\n", " \"generator_args\": {\n", " \"element_store\": mdb.node_stores[\"element\"],\n", " \"chemenv_store\": mdb.node_stores[\"chemenv\"],\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": spg_crystalSystem_isApart,\n", " \"generator_args\": {\n", " \"spg_store\": mdb.node_stores[\"space_group\"],\n", " \"crystal_system_store\": mdb.node_stores[\"crystal_system\"],\n", " },\n", " },\n", " {\n", " \"generator_func\": element_element_bonds,\n", " \"generator_args\": {\n", " \"element_store\": mdb.node_stores[\"element\"],\n", " \"material_store\": mdb.node_stores[\"material\"],\n", " },\n", " },\n", "]\n", "\n", "\n", "# Add each edge generator to the database and run them immediately.\n", "for generator in edge_generators:\n", " generator_func = generator.get(\"generator_func\")\n", " generator_args = generator.get(\"generator_args\", None)\n", " print(f\"Adding edge generator: {generator_func.__name__}\")\n", " mdb.add_edge_generator(generator_func=generator_func, generator_args=generator_args, run_immediately=True)\n", "\n", "print(\"Edge generators have been initialized.\")\n", "print(mdb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Verifying the Database\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "============================================================\n", "GRAPH DATABASE SUMMARY\n", "============================================================\n", "Name: MatGraphDB\n", "Storage path: ..\\..\\data\\examples\\01\\MatGraphDB\n", "└── Repository structure:\n", " ├── nodes/ (..\\..\\data\\examples\\01\\MatGraphDB\\nodes)\n", " ├── edges/ (..\\..\\data\\examples\\01\\MatGraphDB\\edges)\n", " ├── edge_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\edge_generators)\n", " ├── node_generators/ (..\\..\\data\\examples\\01\\MatGraphDB\\node_generators)\n", " └── graph/ (..\\..\\data\\examples\\01\\MatGraphDB\\graph)\n", "\n", "############################################################\n", "NODE DETAILS\n", "############################################################\n", "Total node types: 10\n", "------------------------------------------------------------\n", "• Node type: material\n", " - Number of nodes: 80643\n", " - Number of features: 136\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "------------------------------------------------------------\n", "• Node type: element\n", " - Number of nodes: 118\n", " - Number of features: 99\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", "------------------------------------------------------------\n", "• Node type: chemenv\n", " - Number of nodes: 67\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", "------------------------------------------------------------\n", "• Node type: crystal_system\n", " - Number of nodes: 7\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", "------------------------------------------------------------\n", "• Node type: magnetic_state\n", " - Number of nodes: 5\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\magnetic_state\n", "------------------------------------------------------------\n", "• Node type: oxidation_state\n", " - Number of nodes: 19\n", " - Number of features: 3\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\oxidation_state\n", "------------------------------------------------------------\n", "• Node type: space_group\n", " - Number of nodes: 230\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "------------------------------------------------------------\n", "• Node type: wyckoff\n", " - Number of nodes: 1380\n", " - Number of features: 2\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\wyckoff\n", "------------------------------------------------------------\n", "• Node type: material_site\n", " - Number of nodes: 2545026\n", " - Number of features: 15\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_site\n", "------------------------------------------------------------\n", "• Node type: material_lattice\n", " - Number of nodes: 80643\n", " - Number of features: 12\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_lattice\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE DETAILS\n", "############################################################\n", "Total edge types: 10\n", "------------------------------------------------------------\n", "• Edge type: element_element_neighborsByGroupPeriod\n", " - Number of edges: 391\n", " - Number of features: 14\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_element_neighborsByGroupPeriod\n", "------------------------------------------------------------\n", "• Edge type: element_oxiState_canOccur\n", " - Number of edges: 162\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_oxiState_canOccur\n", "------------------------------------------------------------\n", "• Edge type: material_chemenv_containsSite\n", " - Number of edges: 2542897\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_chemenv_containsSite\n", "------------------------------------------------------------\n", "• Edge type: material_crystalSystem_has\n", " - Number of edges: 80643\n", " - Number of features: 10\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_crystalSystem_has\n", "------------------------------------------------------------\n", "• Edge type: material_element_has\n", " - Number of edges: 270902\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_element_has\n", "------------------------------------------------------------\n", "• Edge type: material_lattice_has\n", " - Number of edges: 80643\n", " - Number of features: 8\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_lattice_has\n", "------------------------------------------------------------\n", "• Edge type: material_spg_has\n", " - Number of edges: 80643\n", " - Number of features: 10\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\material_spg_has\n", "------------------------------------------------------------\n", "• Edge type: element_chemenv_canOccur\n", " - Number of edges: 270474\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_chemenv_canOccur\n", "------------------------------------------------------------\n", "• Edge type: spg_crystalSystem_isApart\n", " - Number of edges: 230\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\spg_crystalSystem_isApart\n", "------------------------------------------------------------\n", "• Edge type: element_element_bonds\n", " - Number of edges: 3069943\n", " - Number of features: 7\n", " - db_path: ..\\..\\data\\examples\\01\\MatGraphDB\\edges\\element_element_bonds\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "NODE GENERATOR DETAILS\n", "############################################################\n", "Total node generators: 9\n", "------------------------------------------------------------\n", "• Generator: element\n", "Generator Args:\n", " - generator_func: [<function element at 0x000001E1A2C82C10>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", " - generator_name: ['element']\n", " - id: [0]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\imputed_periodic_table_values.parquet']\n", "------------------------------------------------------------\n", "• Generator: chemenv\n", "Generator Args:\n", " - generator_func: [<function chemenv at 0x000001E1A2C82D30>]\n", " - generator_kwargs.base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", " - generator_name: ['chemenv']\n", " - id: [1]\n", "Generator Kwargs:\n", " - base_file: ['C:\\\\Users\\\\lllang\\\\Desktop\\\\Current_Projects\\\\MatGraphDB\\\\matgraphdb\\\\utils\\\\chem_utils\\\\resources\\\\coordination_geometries.parquet']\n", "------------------------------------------------------------\n", "• Generator: crystal_system\n", "Generator Args:\n", " - generator_func: [<function crystal_system at 0x000001E1A2C82E50>]\n", " - generator_name: ['crystal_system']\n", " - id: [2]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: magnetic_state\n", "Generator Args:\n", " - generator_func: [<function magnetic_state at 0x000001E1A2C82F70>]\n", " - generator_name: ['magnetic_state']\n", " - id: [3]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: oxidation_state\n", "Generator Args:\n", " - generator_func: [<function oxidation_state at 0x000001E1A2C8D0D0>]\n", " - generator_name: ['oxidation_state']\n", " - id: [4]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: space_group\n", "Generator Args:\n", " - generator_func: [<function space_group at 0x000001E1A2C8D1F0>]\n", " - generator_name: ['space_group']\n", " - id: [5]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: wyckoff\n", "Generator Args:\n", " - generator_func: [<function wyckoff at 0x000001E1A2C8D310>]\n", " - generator_name: ['wyckoff']\n", " - id: [6]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_site\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_site at 0x000001E1C487D940>]\n", " - generator_name: ['material_site']\n", " - id: [7]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_lattice\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - generator_func: [<function material_lattice at 0x000001E1C487D820>]\n", " - generator_name: ['material_lattice']\n", " - id: [8]\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "\n", "############################################################\n", "EDGE GENERATOR DETAILS\n", "############################################################\n", "Total edge generators: 10\n", "------------------------------------------------------------\n", "• Generator: element_oxiState_canOccur\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - oxiState_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\oxidation_state\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_chemenv_containsSite\n", "Generator Args:\n", " - chemenv_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_crystalSystem_has\n", "Generator Args:\n", " - crystal_system_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_element_neighborsByGroupPeriod\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_element_has\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_lattice_has\n", "Generator Args:\n", " - lattice_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material_lattice\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: material_spg_has\n", "Generator Args:\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", " - spg_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_chemenv_canOccur\n", "Generator Args:\n", " - chemenv_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\chemenv\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: spg_crystalSystem_isApart\n", "Generator Args:\n", " - crystal_system_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\crystal_system\n", " - spg_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\space_group\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "• Generator: element_element_bonds\n", "Generator Args:\n", " - element_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\element\n", " - material_store: ..\\..\\data\\examples\\01\\MatGraphDB\\nodes\\material\n", "Generator Kwargs:\n", "------------------------------------------------------------\n", "\n" ] } ], "source": [ "print(mdb)" ] } ], "metadata": { "kernelspec": { "display_name": "matgraphdb_dev", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.21" }, "nbsphinx": { "execute": "never" } }, "nbformat": 4, "nbformat_minor": 2 }